package canchaFulbito.dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import canchaFulbito.excepcion.DAOExcepcion;
import canchaFulbito.modelo.Alquiler;
import canchaFulbito.util.ConexionBD;
import canchaFulbito.dao.BaseDAO;

public class AlquilerDAO extends BaseDAO{

	
public void insertar(Alquiler al) throws DAOExcepcion {
		System.out.println("AlquilerDAO: insertar(Alquiler al)");
		//String query = "INSERT INTO PERSONA(idPersona,No_Persona,No_Paterno,No_Materno,Fl_Sexo,Nu_Documento,No_Email,No_Pass,Fe_Nacimiento,Nu_Celular,Fl_estado) VALUES (?,?,?,?,?,?,?,?,?,?,?)";
		String query = "INSERT INTO ALQUILER(idAlquiler,FechaAlquiler,Horario_idhorario,cancha_IdCancha,Servicio_idServicio) VALUES (?,?,?,?,?)";
		
		Connection con = null;
		PreparedStatement stmt = null;
		try {
			con = ConexionBD.obtenerConexion();
			stmt = con.prepareStatement(query);
			stmt.setInt(1, al.getIdAlquiler());
			stmt.setString(2, al.getFecAlquiler());
			stmt.setInt(3,al.getoHorario().getIdHorario());
			stmt.setInt(4, al.getoCancha().getIdCancha());
			stmt.setInt(5, al.getoServicio().getIdServicio());
			
			
			int i = stmt.executeUpdate();
			if (i != 1) {
				throw new SQLException("No se pudo registrar");
			}
		} catch (SQLException e) {
			System.err.println(e.getMessage());
			throw new DAOExcepcion(e.getMessage());
		} finally {
			this.cerrarStatement(stmt);
			this.cerrarConexion(con);
		}
	}

public Alquiler obtener(int idCancha) throws DAOExcepcion {
	System.out.println("AlquilerDAO: obtener()String idCancha");
	Alquiler al = new Alquiler();
	Connection con = null;
	PreparedStatement stmt = null;
	ResultSet rs = null;
	try {
		String query = "select * from Alquiler where cancha_idCancha=?" ;
		con = ConexionBD.obtenerConexion();
		stmt = con.prepareStatement(query);
		stmt.setInt(1,idCancha );
		
		rs = stmt.executeQuery();
		if (rs.next()) {
				throw new SQLException("Cancha ya esta Alquilada");
		}
		
	} catch (SQLException e) {
		System.err.println(e.getMessage());
		throw new DAOExcepcion(e.getMessage());
	} finally {
		this.cerrarResultSet(rs);
		this.cerrarStatement(stmt);
		this.cerrarConexion(con);
	}
	return al;
}
}
